using System;
using System.Text.RegularExpressions;
using System.Diagnostics;

namespace ITMSClient
{
	public enum TrailerSize
	{
		None,
        //Small,
        h320,h480,h640,
		//Medium,
		//Large,
		//Fullscreen,
		h480p,
		h720p,
		h1080p
	}

	/// <summary>
	/// Summary description for PosterImage.
	/// </summary>
	public struct TrailerStream
	{
		private TrailerSize _size;
		private string _type;
		private Uri _uri;
		private DateTime _date;
		private TimeSpan _length;
		private Uri _movie;

		/// <summary>
		/// Creates a new <see cref="TrailerStream"/> instance.
		/// </summary>
		/// <param name="size">Size.</param>
		/// <param name="uri">URI.</param>
		public TrailerStream(TrailerSize size, Uri uri)
		{
			_size = size;
			_type = String.Empty;
			_uri = uri;
			_date = DateTime.MinValue;
			_length = TimeSpan.Zero;
			_movie = null;
		}

		/// <summary>
		/// Gets the size.
		/// </summary>
		/// <value></value>
		public TrailerSize Size
		{
			get { return _size; }
		}
		/// <summary>
		/// Gets or sets the type.
		/// </summary>
		/// <value></value>
		public string Type
		{
			get { return _type; }
			set { _type = value; }
		}

		/// <summary>
		/// Gets or sets the URI.
		/// </summary>
		/// <value></value>
		public Uri Uri
		{
			get { return _uri; }
			set { _uri = value; }
		}

		/// <summary>
		/// Gets or sets the Date.
		/// </summary>
		/// <value></value>
		public DateTime Date
		{
			get { return _date; }
			set { _date = value; }
		}

		/// <summary>
		/// Gets or sets the Movie file.
		/// </summary>
		/// <value></value>
		public Uri Movie
		{
			get { return _movie; }
			set { _movie = value; }
		}

		/// <summary>
		/// Gets or sets the Movie length.
		/// </summary>
		/// <value></value>
		public TimeSpan Length
		{
			get { return _length; }
			set { _length = value; }
		}

	}
}
